Real software, the kind working programmers produce by the kLOC to solve real-world problems, tends to be "natural", like speech or natural language; it tends to be highly repetitive and predictable. Researchers have captured this naturalness of software through statistical models and used them to good effect in suggestion engines, porting tools, coding standards checkers, and idiom miners. This suggests that code that appears improbable, or surprising, to a good statistical language model is "unnatural" in some sense, and thus possibly suspicious. In this paper, we investigate this hypothesis. We consider a large corpus of bug fix commits (ca. 7,139), from 10 different Java projects, and focus on its language statistics, evaluating the nat...
Several static analysis tools, such as Splint or FindBugs, have been proposed to the software develo...
Artifact for "Are Neural Bug Detectors Comparable to Software Developers on Variable Misuse Bugs?" ...
Background: Bug prediction helps developers steer maintenance activities towards the buggy parts of ...
<p>Real software, the kind working programmers produce by the kLOC to solve real-world problems, ten...
peer reviewedBackground: Code is repetitive and predictable in a way that is similar to the natural...
Background: Code is repetitive and predictable in a way that is similar to the natural language. Thi...
Natural languages like English are rich, complex, and powerful. The highly creative and graceful use...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
In software development, fixing bugs is an im- portant task that is time consuming and cost-sensitiv...
peer reviewedNatural language processing techniques, in particular n-gram models, have been applied ...
International audienceThis paper is about understanding the nature of bug fixing by analyzing thousa...
Research at the intersection of machine learning, programming languages, and software engineering ha...
As machine learning tools progress, the inevitable question arises: How can machine learning help us...
Abstract—This paper is about understanding the nature of bug fixing by analyzing thousands of bug fi...
Access restricted to the OSU CommunityThis thesis shows how probabilistic graphical models may be ap...
Several static analysis tools, such as Splint or FindBugs, have been proposed to the software develo...
Artifact for "Are Neural Bug Detectors Comparable to Software Developers on Variable Misuse Bugs?" ...
Background: Bug prediction helps developers steer maintenance activities towards the buggy parts of ...
<p>Real software, the kind working programmers produce by the kLOC to solve real-world problems, ten...
peer reviewedBackground: Code is repetitive and predictable in a way that is similar to the natural...
Background: Code is repetitive and predictable in a way that is similar to the natural language. Thi...
Natural languages like English are rich, complex, and powerful. The highly creative and graceful use...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
In software development, fixing bugs is an im- portant task that is time consuming and cost-sensitiv...
peer reviewedNatural language processing techniques, in particular n-gram models, have been applied ...
International audienceThis paper is about understanding the nature of bug fixing by analyzing thousa...
Research at the intersection of machine learning, programming languages, and software engineering ha...
As machine learning tools progress, the inevitable question arises: How can machine learning help us...
Abstract—This paper is about understanding the nature of bug fixing by analyzing thousands of bug fi...
Access restricted to the OSU CommunityThis thesis shows how probabilistic graphical models may be ap...
Several static analysis tools, such as Splint or FindBugs, have been proposed to the software develo...
Artifact for "Are Neural Bug Detectors Comparable to Software Developers on Variable Misuse Bugs?" ...
Background: Bug prediction helps developers steer maintenance activities towards the buggy parts of ...